package com.yc.sole.framework.exception;


import com.yc.sole.framework.result.IResultMsg;
import lombok.Getter;

import java.text.MessageFormat;

/**
 * 异常
 *
 * @author yizuomin
 * @date 2023/2/13 14:31
 **/
@Getter
public class BaseException extends RuntimeException {

    private Integer code;

    public BaseException(String msg) {
        super(msg);
    }

    public BaseException(Throwable exception) {
        super(exception);
    }

    public BaseException(IResultMsg msg) {
        super(msg.getMessage());
        this.code = msg.getCode();
    }

    public BaseException(IResultMsg msg, Object... args) {
        super(args == null ? msg.getMessage() : MessageFormat.format(msg.getMessage(), args));
        this.code = msg.getCode();
    }

    public BaseException(String msg, Object... args) {
        super(args == null ? msg : MessageFormat.format(msg, args));
    }
}
